Various devices such as electronic devices, computing systems, portable devices, and handheld devices have applications suites with various software applications that share resources (e.g., a framework of supporting libraries). A software framework is an abstraction in which common code providing generic functionality can be selectively overwritten or specialized by user code providing specific functionality. Frameworks are a special case of software libraries in that they are reusable codes wrapped in a well-defined application programming interface (API). A framework distinguishes from a library or normal user application in that the overall program's flow of control is not dictated by the caller, but by the framework. Software applications that share a framework will have the same look and feel based on sharing the same framework.
If an entire application suite is purchased and installed together, then space in non-volatile storage of a system is saved by linking all of the applications in the suite to the same framework. However, if the applications are purchased and installed separately, then multiple copies of an identical framework may be installed. The multiple copies of the identical framework are loaded into volatile memory when the corresponding applications are executed. The multiple copies of the identical framework require additional storage space in the non-volatile storage and the volatile memory.